#ifndef __CK_RULE_H__
#define __CK_RULE_H__

#include "ckObject.h"
#include "zCore.h"
#include <vector>
#include <string>

namespace ck
{
	class Constraint;

	class ZCORE_API OpRule : public ckObject
	{
	public:
		OpRule();
		virtual ~OpRule();

	public:
		virtual const char*	GetDescription();

		virtual z_uint32	GetCount();
		virtual Constraint*	GetConstraint(z_uint32 i);
		
		virtual RESULTCODE	Add(Constraint* pConstraint);

	protected:
		std::string m_strDescription;
		std::vector<Constraint*>	m_constraints;
		
	};
}


#endif //__CK_RULE_H__
